package com.example.lucky.draw.server.job.listener;

import org.springframework.batch.core.JobExecution;
import org.springframework.batch.core.JobExecutionListener;

public class CsvToDbListener implements JobExecutionListener {
    /**
     * jobExecution 代表当前正在执行的批处理作业的实例，可以通过该实例获取到作业的相关信息，
     * 如作业名称、作业参数、作业执行状态等。
     */
    @Override
    public void beforeJob(JobExecution jobExecution) {
        long begin = System.currentTimeMillis();
        System.out.println("--------作业开始执行，当前的时间是：--------"+begin);
        jobExecution.getExecutionContext().putLong("begin",begin);
    }

    /**
     * getExecutionContext() 方法可以获取到作业执行过程中的上下文信息，
     * 如作业执行开始时间、作业执行结束时间、作业执行状态等。
     * @param jobExecution the current {@link JobExecution}
     */

    @Override
    public void afterJob(JobExecution jobExecution) {
        long begin = jobExecution.getExecutionContext().getLong("begin");
        long end = System.currentTimeMillis();
        System.out.println("--------作业执行结束，总共耗时："+(end-begin)+"毫秒--------");
    }
}
